//
//  ViewController.m
//  应用管理
//
//  Created by 张建国 on 16/1/17.
//  Copyright © 2016年 张建国. All rights reserved.
//

#import "ViewController.h"
#import "AppInfo.h"
#import "appInfoView.h"
@interface ViewController ()
//存储从plist中获取的数据
@property (nonatomic,strong) NSArray *appInfos;

@end

@implementation ViewController

//1/懒加载
-(NSArray *)appInfos
{
    if (_appInfos == nil) {
        // 调用appInfo的类方法，返回模型数组
        _appInfos = [AppInfo appInfoList];
    }
    return _appInfos;
}

- (void)viewDidLoad {
    [super viewDidLoad];

    //2 测试数据
//
//    NSLog(@"%@",self.appInfos);
     int totalColumn = 3;
     CGFloat subViewW = 100;
     CGFloat subViewH = 100;
    
// 子view 的横向间距 = （父view的宽度 - 3 * 子view 的宽度） / 4
     CGFloat marginX = (self.view .frame.size.width - totalColumn * subViewW) / (totalColumn + 1);
    
// 子view 的纵向间距 = 20；
     CGFloat marginY = 20;


    // 3 动态生成9宫格的方块
    for (int i = 0 ; i < self.appInfos.count; i++) {
        
        // 动态生成view
//        UIView *subView = [[UIView alloc] init];
//        [self.view addSubview:subView];
        
        // 从xib中加载subView
        NSBundle *bundle = [NSBundle mainBundle];
        // 加载xib中的view
        appInfoView *subView = [[bundle loadNibNamed:@"appInfoView" owner:nil options:nil] lastObject];
        
//        [self.view addSubview:subView];

        
        // 计算frame

        // 当前子view的行号 =  当前遍历到的索引值 / 总列数
        int row = i / 3;

        // 当前子view的列号 = 当前遍历得到的索引值 % 总列数
        int column = i % 3;
        
        // 子view横坐标的公式 = 子view的横坐标间距 + 列号 * （子view的横向间距 + 子view的宽度）
        CGFloat subViewX = marginX + column * (marginX + subViewW);
        
        // 子view纵坐标的公式 = 子view的纵坐标间距 + 行号 * （子view的纵向间距 + 子view的高度）
        CGFloat subViewY = 30 + row * (marginY + subViewH);
        
        subView.frame = CGRectMake(subViewX, subViewY, subViewW, subViewH);
        
        // 取得当前遍历得到的数值
        AppInfo *appInfo = self.appInfos[i];
        
        // 给subView的子控件赋值
        //方式1
        UIImageView *iconView = subView.subviews[0];
        iconView.image = [UIImage imageNamed:appInfo.icon];
        // 方式2
        UILabel *nameView = [subView viewWithTag:10];
        nameView.text = appInfo.name;
        
        
    }
}


- (void)downLoadClick{
    NSLog(@"====");
}











@end
